<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2007 (http://www.altova.com) by SmallCharm (Xjtu) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xs:element name="CodeStoryConfig">
		<xs:annotation>
			<xs:documentation>Comment describing your root element</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="ConnectionStrings"/>
				<xs:element ref="DataProviders"/>
				<xs:element ref="Authentication" minOccurs="0"/>
			</xs:sequence>
			<xs:attribute name="defaultSkinName"/>
			<xs:attribute name="defaultPageTabName"/>
			<xs:attribute name="defaultPortletTemplate"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="ConnectionStrings">
		<xs:complexType>
			<xs:choice>
				<xs:element name="Add">
					<xs:complexType>
						<xs:attribute name="name" use="required"/>
						<xs:attribute name="connectionString" use="required"/>
					</xs:complexType>
				</xs:element>
				<xs:element name="Remove">
					<xs:complexType>
						<xs:attribute name="name" use="required"/>
					</xs:complexType>
				</xs:element>
				<xs:element name="Clear"/>
			</xs:choice>
		</xs:complexType>
	</xs:element>
	<xs:element name="DataProviders">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="Group" minOccurs="0" maxOccurs="unbounded">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Provider">
								<xs:complexType>
									<xs:attribute name="connectionStringName" use="required"/>
									<xs:attribute name="type" use="required"/>
									<xs:attribute name="used" type="xs:boolean"/>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
						<xs:attribute name="name" use="required"/>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="Authentication">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="Providers">
					<xs:complexType>
						<xs:choice minOccurs="0" maxOccurs="unbounded">
							<xs:element name="Add">
								<xs:complexType>
									<xs:attribute name="name" use="required"/>
									<xs:attribute name="type" use="required"/>
								</xs:complexType>
							</xs:element>
							<xs:element name="Remove">
								<xs:complexType>
									<xs:attribute name="name" use="required"/>
								</xs:complexType>
							</xs:element>
							<xs:element name="Clear"/>
						</xs:choice>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="PortletTemplates">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="Template">
					<xs:complexType>
						<xs:attribute name="name" use="required"/>
						<xs:attribute name="url" use="required"/>
						<xs:attribute name="default" use="required"/>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
</xs:schema>
